package com.aaron.socket.utils;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * 
 * @类名称：ConfigFilePath
 * @类描述：
 * @创建人：aaron
 * @修改人：
 * @修改时间：2014年5月11日 下午1:30:52
 * @修改备注：
 * @version:
 */
public final class ConfigFilePath
{

    /**
     * 日志对象
     */
    private final static Logger logger = Logger.getLogger(ConfigFilePath.class
            .getName());

    /**
     * 
     * @方法描述：
     * @方法名：getFilePaths
     * @参数：@return
     * @返回：String
     * @exception
     * @since
     */
    public final static String getFilePaths()
    {
        return System.getProperty("user.dir") + File.separator + "config"
                + File.separator;
    }

    public final static String getLvel2Paths()
    {
        File file = new File(".");
        String resPath = null;
        try
        {
            resPath = file.getCanonicalPath();
        } catch (IOException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return resPath + File.separator + "src" + File.separator + "com"
                + File.separator + "aaron" + File.separator + "spring"
                + File.separator;
    }

    /**
     * 
     * @方法描述：
     * @方法名：getpackagesPath
     * @参数：@return
     * @返回：String
     * @exception
     * @since
     */
    public final static String getpackagesPath()
    {
        return "com.aaron.i18n.";
    }

    /**
     * 
     * @方法描述：
     * @方法名：getSpringConfPath
     * @参数：@param fileName
     * @参数：@return
     * @返回：String
     * @exception
     * @since
     */
    public final static String[] getSpringConfPath(String... fileNames)
    {

        List<String> fileNameList = new ArrayList<String>();
        List<String> allFilePath = new ArrayList<String>();
        for (String fileName : fileNames)
        {
            fileNameList.add(fileName);
        }
        if (null == fileNameList || fileNameList.isEmpty())
        {
            logger.log(Level.WARNING, "没有取到任何文件信息，请检查");
            return fileNameList.toArray(new String[fileNameList.size()]);
        } else
        {

            for (String fileName : fileNameList)
            {
                allFilePath.add(getLvel2Paths() + fileName);
            }

            return allFilePath.toArray(new String[allFilePath.size()]);
        }

    }
}
